Koji 1.16.0 Release notes ========================= Migrating from Koji 1.15 ------------------------ For details on migrating see :doc:`../migrations/migrating_to_1.16` Security Fixes -------------- **CVE-2018-1002150 - distRepoMove missing access check** This release includes the fix for :doc:`../CVEs/CVE-2018-1002150`. Client Changes -------------- **CLI commands to manage notifications** | PR: https://pagure.io/koji/pull-request/688 The change adds new cli sub-commands: - list-notifications - add-notification - remove-notification - edit-notification Previously this functionality was only available through the web ui or by making direct api calls. **Add --old-chroot option to runroot command** | PR: https://pagure.io/koji/pull-request/823 This option causes the runroot handler to pass the same-named option to the mock command. This complements the existing ``--new-chroot`` option. If neither ``--old-chroot`` or ``--new-chroot`` is given, then mock will follow its default behavior. This default varies across mock versions. For newer versions of mock, ``--new-chroot`` is the default (uses a systemd nspawn container). **Fix runroot output on py3** | PR: https://pagure.io/koji/pull-request/828 The runroot command should now work under python3. **Honor runroot --quiet** | PR: https://pagure.io/koji/pull-request/806 The ``--quiet`` option was added to the runroot command in version 1.15, but it only took effect when the ``--watch`` option was given. Now it is honored in all cases. **Drop old ssl code** | PR: https://pagure.io/koji/pull-request/498 The old ``koji.ssl`` module has been removed, and the ``use_old_ssl`` option has been removed from client code. Because these files (which were originally from `Plague `_) were the only parts of Koji that were licensed as GPLv2+, Koji is now simply licensed as LGPLv2. Builder Changes --------------- **Configure install timeout for imagefactory** | PR: https://pagure.io/koji/pull-request/841 Previously the install timeout parameter for imagefactory was set to a fixed value of 7200 by Koji. Now it can be controlled by setting the ``oz_install_timeout`` option in ``kojid.conf``. A value of ``0`` will disable the timeout. **Record log timestamps** | PR: https://pagure.io/koji/pull-request/777 If the ``log_timestamps`` option is enabled in ``kojid.conf``, then the builder will record a separate timestamp file for each log file in a build. The filename for the timestamp file is generated by taking the name of the log file and appending ``-ts.log``. So ``build.log`` will have timestamp data in ``build.log-ts.log``. The format of the timestamp log is plain text with each line showing a numeric timestamp and a line offset. **Builder option: chroot_tmpdir** | PR: https://pagure.io/koji/pull-request/787 The new ``chroot_tmpdir`` option controls which directory within buildroots is used for various temporary data by the Koji builder daemon. Previously this was hardcoded to ``/builddir/tmp``, which created problems with modern versions of mock. The default value is ``/chroot_tmpdir``. **Add internal_dev_setup option to runroot config** | PR: https://pagure.io/koji/pull-request/824 The ``internal_dev_setup`` config option for the runroot builder plugin controls whether the mock option of the same name is set for runroot tasks. System Changes -------------- **Add option to configure DB port** | PR: https://pagure.io/koji/pull-request/884 The hub now accepts a ``DBPort`` option in ``hub.conf``, which specifies which port the hub should use when connecting to the database. **Split debuginfo for dist repos** | PR: https://pagure.io/koji/pull-request/914 Dist repos can now be generated with debuginfo files split into a separate repo. The behavior is controlled by passing the ``--split-debuginfo`` option to the ``dist-repo`` subcommand. When this option is in effect, the main repo will be in the normal location. The debuginfo repo will be in the ``debug`` subdirectory. So, you will see a directory structure like: .. code-block:: text Packages/ repodata/ debug/ debug/repodata Regardless of the split, all the rpms are located in the top level ``Packages`` directory. **Notifications in [un]tagBuildBypass** | PR: https://pagure.io/koji/pull-request/691 Previously the ``tagBuildBypass`` and ``untagBuildBypass`` calls did not trigger notifications. Now they will do so by default. The call now accepts a ``notify`` option (defaults to True) which controls the behavior. **Track history for host data** | PR: https://pagure.io/koji/pull-request/778 Koji now tracks changes to host data similarly to the way it tracks changes for other data. This includes - enabled state - arches - capacity - description & comment - channels The ``list-history`` cli command now supports ``--host`` and ``--channel`` options to select history entries for a host or channel. The versioned host data is stored in the ``host_config`` and ``host_channels`` tables. **Fix block-group functionality** | PR: https://pagure.io/koji/pull-request/678 The ``block-group`` command and its underlying api call now actually work. **Strict option for archive listing calls** | PR: https://pagure.io/koji/pull-request/734 | PR: https://pagure.io/koji/pull-request/748 The ``list_archives``, ``get_archive_file()``, and ``list_archive_files()`` hub functions now accept a strict option, which defaults to False. When the option is True, the call will raise an exception if there is no match. **Search build by source** | PR: https://pagure.io/koji/pull-request/765 The ``listBuilds()`` api call now supports a source option. This is treated as a glob pattern and matched against the ``source`` field of the build. **Option to ignore tags in kojira** | PR: https://pagure.io/koji/pull-request/695 Kojira now supports an ``ignore_tags`` option. This is treated as a space-separated list of glob patterns. Tags that match are ignored by kojira (it will not generate newRepo tasks for them). **Improve kojira throughput** | PR: https://pagure.io/koji/pull-request/797 Kojira should be much more responsive in triggering ``newRepo`` tasks. **Drop migrateImage call** | PR: https://pagure.io/koji/pull-request/632 The ``migrateImage`` call hub call has been removed. This call was added in version 1.8 (April 2013) as a one-time tool for migrating images from the old model (no build entry) to the new model (image build type). It was only available if the EnableImageMigration option was set on the hub.